package com.kang.service.warMap;

import com.baomidou.mybatisplus.extension.service.IService;
import com.kang.bean.bot.City;
import com.kang.bean.bot.WarMap;
import com.kang.vo.CityVo;
import love.forte.simbot.api.message.events.GroupMsg;

import java.util.List;
import java.util.Map;

/**
 * @program: service
 * @description:
 * @author: K.faWu
 * @create: 2022-06-09 10:08
 **/

public interface CityService extends IService<City> {

    /**
     * 获取账号信息，包括资源数量
     * @param accountCode 账号
     * @param groupCode 群号
     * @return 账号信息
     */
    CityVo getCityInfo(String accountCode, String groupCode);
    /**
     * 更新数据，根据招募的数量
     */
    String updateByRecruit(GroupMsg groupMsg, Integer num, String type, WarMap warMap);

    /**
     * 更新数据，根据遣散的数量
     */
    String updateByDisband(GroupMsg groupMsg, Integer num, String type, WarMap warMap);

    /**
     * 根据当前人员分布刷新每个玩家的资源
     * @return 需要通知玩家的信息
     */
    Map<String, List<String>> refresh();

    boolean capture(String accountCode, String groupCode, WarMap warMap, int num);

    void initCity(String accountCode, String groupCode, List<WarMap> warMapList);

    void updateCityInfo(CityVo cityVo, boolean flag);
}
